package sv.gob.mtps.colectivas.model;

// Generated Dec 29, 2013 5:35:54 PM by Hibernate Tools 3.4.0.CR1

import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * TbSolicitud generated by hbm2java
 */
@Entity
@Table(name = "tb_solicitud")
public class TbSolicitud implements java.io.Serializable {

	private Integer idSolicitud;
	private TbExpediente tbExpediente;
	private TbEmpleador tbEmpleador;
	private CatTipoSolicitud catTipoSolicitud;
	private CatCausaSolicitud catCausaSolicitud;
	private String fechaSolicitud;
	private String encargdoFiltro;
	private Set<TbSolicitudSolicitante> tbSolicitudSolicitantes = new HashSet<TbSolicitudSolicitante>(
			0);

	public TbSolicitud() {
	}

	public TbSolicitud(TbExpediente tbExpediente, TbEmpleador tbEmpleador,
			CatTipoSolicitud catTipoSolicitud,
			CatCausaSolicitud catCausaSolicitud) {
		this.tbExpediente = tbExpediente;
		this.tbEmpleador = tbEmpleador;
		this.catTipoSolicitud = catTipoSolicitud;
		this.catCausaSolicitud = catCausaSolicitud;
	}

	public TbSolicitud(TbExpediente tbExpediente, TbEmpleador tbEmpleador,
			CatTipoSolicitud catTipoSolicitud,
			CatCausaSolicitud catCausaSolicitud, String fechaSolicitud,
			String encargdoFiltro,
			Set<TbSolicitudSolicitante> tbSolicitudSolicitantes) {
		this.tbExpediente = tbExpediente;
		this.tbEmpleador = tbEmpleador;
		this.catTipoSolicitud = catTipoSolicitud;
		this.catCausaSolicitud = catCausaSolicitud;
		this.fechaSolicitud = fechaSolicitud;
		this.encargdoFiltro = encargdoFiltro;
		this.tbSolicitudSolicitantes = tbSolicitudSolicitantes;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "id_solicitud", unique = true, nullable = false)
	public Integer getIdSolicitud() {
		return this.idSolicitud;
	}

	public void setIdSolicitud(Integer idSolicitud) {
		this.idSolicitud = idSolicitud;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "expediente", nullable = false)
	public TbExpediente getTbExpediente() {
		return this.tbExpediente;
	}

	public void setTbExpediente(TbExpediente tbExpediente) {
		this.tbExpediente = tbExpediente;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "empleador", nullable = false)
	public TbEmpleador getTbEmpleador() {
		return this.tbEmpleador;
	}

	public void setTbEmpleador(TbEmpleador tbEmpleador) {
		this.tbEmpleador = tbEmpleador;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "tipo_solicitud", nullable = false)
	public CatTipoSolicitud getCatTipoSolicitud() {
		return this.catTipoSolicitud;
	}

	public void setCatTipoSolicitud(CatTipoSolicitud catTipoSolicitud) {
		this.catTipoSolicitud = catTipoSolicitud;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "causa_solicitud", nullable = false)
	public CatCausaSolicitud getCatCausaSolicitud() {
		return this.catCausaSolicitud;
	}

	public void setCatCausaSolicitud(CatCausaSolicitud catCausaSolicitud) {
		this.catCausaSolicitud = catCausaSolicitud;
	}

	@Column(name = "fecha_solicitud", length = 16)
	public String getFechaSolicitud() {
		return this.fechaSolicitud;
	}

	public void setFechaSolicitud(String fechaSolicitud) {
		this.fechaSolicitud = fechaSolicitud;
	}

	@Column(name = "encargdo_filtro")
	public String getEncargdoFiltro() {
		return this.encargdoFiltro;
	}

	public void setEncargdoFiltro(String encargdoFiltro) {
		this.encargdoFiltro = encargdoFiltro;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "tbSolicitud")
	public Set<TbSolicitudSolicitante> getTbSolicitudSolicitantes() {
		return this.tbSolicitudSolicitantes;
	}

	public void setTbSolicitudSolicitantes(
			Set<TbSolicitudSolicitante> tbSolicitudSolicitantes) {
		this.tbSolicitudSolicitantes = tbSolicitudSolicitantes;
	}

}
